Database systems are everywhere. Databases are delivered as constituent or required components of many enterprise applications, and accordingly databases have proliferated as enterprise applications have proliferated. In some situations, a single installation may comprise many different databases. And in some cases the individual instances of the different databases are of different versions, and/or are running on different hardware, and/or are running under different operating systems, and/or are running different versions of applications, and so on. Such installations become more and more complex over time, and until the advent of the herein-disclosed techniques there has been no coordination for upgrades of heterogeneous multi-instance database clusters. Barriers that heretofore have prevented coordination for upgrades of heterogeneous multi-instance database clusters include:                Difficulty to obtain advice and clarity in best practices pertaining to upgrades, especially in large environments with databases spanning multiple versions, multiple platforms, and multiple configurations.        Lack of automation to assist in mass upgrade of databases.        Lack of impact analysis before initiating the upgrade.        Fear of upgrade failure or lack of a fallback plan to restore environments in cases of a failure during the upgrade processes.        Significant downtime for mission critical databases.        Performance degradation once the upgrade has completed.        Lack of proper testing after the upgrade operations, and so on.        
For the above reasons many organizations choose to postpone their database upgrades, or organizations may choose to only perform upgrades to a limited number of databases within a multi-database cluster. This severely retards adoption of new database releases and features.
While an upgrade of a single instance of a database in a particular installation might have a small set of dependencies, an upgrade of multiple databases in a heterogeneous multiple database installation can have a massive number of dependencies. And the number of dependencies increases super-linearly with the number of database instances. Still worse, the sheer number of possibilities and the manner in which upgrade operations are applied (e.g., which patches to apply to which databases, what order to perform upgrade operations, etc.) demands computer-implemented techniques.
What is needed is a technique or techniques for determining aspects of homogeneity or other groupings of instances of databases in a heterogeneous multi-instance database installation, and then determining a sequencing order (e.g., sequences of operations) in which to perform the upgrade over the individual database instances in the installation.
None of the aforementioned technologies have the capabilities to perform the herein-disclosed techniques for determining upgrade schedules for mass upgrade of multi-database installations. Therefore, there is a need for an improved approach.